number = [1, 2, 3, 4, 5, 5, 6]
print(number[0])      # 获取列表里面的元素（通过索引，也就是下标）
print(len(number))    # 列表长度，即所包含的元素个数

print(number.count(5))  # 查找指定元素在列表中的出现次数

print(number.index(3))  # 查找指定元素在列表中的索引位置（只有字符串有find函数）

numbered = number.pop(1)  # 删除列表中第二个元素0
print(number)
print(numbered)  # 打印输出删除元素

number.append(7)  # 在列表末尾追加一个元素
number.extend('hello')  # 将序列中的元素一个个展开添加
number_2 = [7,8,9]
number.extend(number_2)  # 将列表number_2中的元素添加到列表number中，相当于number + number_2
print(number)

number.insert(3, 2024)  # 在列表索引位置为3的地方插入元素2024
print(number)

number[2] = "abc"  # 修改列表元素
print(number)

list_number = ["a", "b", "c", "d","d"]
del list_number[0]  # 删除函数中括号内为索引位置，del函数无法调用删除元素
print(list_number)

list_number.pop()  # pop()默认删除最后一个元素，输出该式可调用删除元素
print(list_number)  # 括号内填入所删元素索引值，根据下标删除列表中的元素

# clear()表示清空列表元素
list_number.clear()
print(list_number)

# 判断是否存在要删除的元素
if "f" in list_number:
    print("存在")
else :
    print("不存在")     # 关键字in的返回值为bool类型

list_number.remove("c")  # remove函数知道需删除的值即可，但只删除同名的第一个元素
relist_number = "c"
print(list_number)
print(relist_number)  # 删除后的值可调回

# for循环在两个元素连着一起时会漏删，需要用到while循环
n = 0
while n < len(list_number):
    if list_number[n] == "d":
        list_number.remove("d")
    else:
        n += 1
print(list_number)

i = [1, 5, 4, 3, 9, 7, 6]
i.sort()  # sort函数默认升序操作
print(i)
i.sort(reverse=True)  # 降序操作
print(i)
i.reverse()  # reverse函数表示对原有列表进行一个反转操作（没有排序）
print(i)

# 系统内置排序函数：sorted,可排元组，无需调用
result = sorted(i)
print(result)
result = sorted(i,reverse=True)    # sorted支持倒序
print(result)

# 复制列表
i = [1, 5, 4, 3, 9, 7, 6]
v = i[:]
print(v)

# 冒泡排序（相当于sort函数）
nums = [5,1,7,6,8,2,4,3]
for j in range(0,len(nums) - 1):         # 轮数
    for i in range(0,len(nums) - 1 - j):
        if nums [i] > nums[i + 1]:          # 两两比较
            a = nums[i]
            nums[i] = nums[i + 1]
            nums[i + 1] = a
print(nums)

list1 = []
for i in range(1,21):
    list1.append(i)
print(list1)
# 列表推导式格式一([表达式 for 变量 in 旧列表])
list1 = [i for i in range(1,21)]
print(list1)

list2 = []
for i in range(1,21):
    if i % 2 == 0:
        list2.append(i)
print(list2)
# 列表推导式格式二([表达式 for 变量 in 旧列表 if 条件])
list_2 = [i for i in range(0,21) if i % 2 == 0]
print(list2)

# list3 如果是h开头的则将首字母大写，不是h开头的全部转大写
list3 = ['62','hello','100','world','88']
# 列表推导式格式三（光有if条件就放for循环后面，但是加上了else条件就要将if...else...结构放前面）
list4 = [word.title() if word.startswith('h') else word.upper() for word in list3]
print(list4)